using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Stack;
using ILRuntime.Reflection;
using ILRuntime.CLR.Utils;
using System.Linq;

namespace ILRuntime.Runtime.Generated
{
    unsafe class huqiang_Unit_UnitCarrier_Binding
    {
        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
        {
            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
            MethodBase method;
            FieldInfo field;
            Type[] args;
            Type type = typeof(huqiang.Unit.UnitCarrier);
            args = new Type[]{typeof(System.String)};
            method = type.GetMethod("Initial", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Initial_0);
            args = new Type[]{typeof(huqiang.Unit.Unit)};
            method = type.GetMethod("AddUnit", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, AddUnit_1);

            field = type.GetField("Root", flag);
            app.RegisterCLRFieldGetter(field, get_Root_0);
            app.RegisterCLRFieldSetter(field, set_Root_0);
            app.RegisterCLRFieldBinding(field, CopyToStack_Root_0, AssignFromStack_Root_0);
            field = type.GetField("vertex", flag);
            app.RegisterCLRFieldGetter(field, get_vertex_1);
            app.RegisterCLRFieldSetter(field, set_vertex_1);
            app.RegisterCLRFieldBinding(field, CopyToStack_vertex_1, AssignFromStack_vertex_1);
            field = type.GetField("uv", flag);
            app.RegisterCLRFieldGetter(field, get_uv_2);
            app.RegisterCLRFieldSetter(field, set_uv_2);
            app.RegisterCLRFieldBinding(field, CopyToStack_uv_2, AssignFromStack_uv_2);
            field = type.GetField("tris", flag);
            app.RegisterCLRFieldGetter(field, get_tris_3);
            app.RegisterCLRFieldSetter(field, set_tris_3);
            app.RegisterCLRFieldBinding(field, CopyToStack_tris_3, AssignFromStack_tris_3);
            field = type.GetField("colors", flag);
            app.RegisterCLRFieldGetter(field, get_colors_4);
            app.RegisterCLRFieldSetter(field, set_colors_4);
            app.RegisterCLRFieldBinding(field, CopyToStack_colors_4, AssignFromStack_colors_4);
            field = type.GetField("Units", flag);
            app.RegisterCLRFieldGetter(field, get_Units_5);
            app.RegisterCLRFieldSetter(field, set_Units_5);
            app.RegisterCLRFieldBinding(field, CopyToStack_Units_5, AssignFromStack_Units_5);
            field = type.GetField("collisionType", flag);
            app.RegisterCLRFieldGetter(field, get_collisionType_6);
            app.RegisterCLRFieldSetter(field, set_collisionType_6);
            app.RegisterCLRFieldBinding(field, CopyToStack_collisionType_6, AssignFromStack_collisionType_6);
            field = type.GetField("game", flag);
            app.RegisterCLRFieldGetter(field, get_game_7);
            app.RegisterCLRFieldSetter(field, set_game_7);
            app.RegisterCLRFieldBinding(field, CopyToStack_game_7, AssignFromStack_game_7);
            field = type.GetField("meshFilter", flag);
            app.RegisterCLRFieldGetter(field, get_meshFilter_8);
            app.RegisterCLRFieldSetter(field, set_meshFilter_8);
            app.RegisterCLRFieldBinding(field, CopyToStack_meshFilter_8, AssignFromStack_meshFilter_8);
            field = type.GetField("renderer", flag);
            app.RegisterCLRFieldGetter(field, get_renderer_9);
            app.RegisterCLRFieldSetter(field, set_renderer_9);
            app.RegisterCLRFieldBinding(field, CopyToStack_renderer_9, AssignFromStack_renderer_9);
            field = type.GetField("assetsName", flag);
            app.RegisterCLRFieldGetter(field, get_assetsName_10);
            app.RegisterCLRFieldSetter(field, set_assetsName_10);
            app.RegisterCLRFieldBinding(field, CopyToStack_assetsName_10, AssignFromStack_assetsName_10);
            field = type.GetField("shader", flag);
            app.RegisterCLRFieldGetter(field, get_shader_11);
            app.RegisterCLRFieldSetter(field, set_shader_11);
            app.RegisterCLRFieldBinding(field, CopyToStack_shader_11, AssignFromStack_shader_11);
            field = type.GetField("textrue", flag);
            app.RegisterCLRFieldGetter(field, get_textrue_12);
            app.RegisterCLRFieldSetter(field, set_textrue_12);
            app.RegisterCLRFieldBinding(field, CopyToStack_textrue_12, AssignFromStack_textrue_12);
            field = type.GetField("level", flag);
            app.RegisterCLRFieldGetter(field, get_level_13);
            app.RegisterCLRFieldSetter(field, set_level_13);
            app.RegisterCLRFieldBinding(field, CopyToStack_level_13, AssignFromStack_level_13);


            app.RegisterCLRCreateDefaultInstance(type, () => new huqiang.Unit.UnitCarrier());
            app.RegisterCLRCreateArrayInstance(type, s => new huqiang.Unit.UnitCarrier[s]);

            args = new Type[]{};
            method = type.GetConstructor(flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Ctor_0);

        }


        static StackObject* Initial_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Unit.UnitCarrier instance_of_this_method = (huqiang.Unit.UnitCarrier)typeof(huqiang.Unit.UnitCarrier).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Initial(@name);

            return __ret;
        }

        static StackObject* AddUnit_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Unit.Unit @dat = (huqiang.Unit.Unit)typeof(huqiang.Unit.Unit).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Unit.UnitCarrier instance_of_this_method = (huqiang.Unit.UnitCarrier)typeof(huqiang.Unit.UnitCarrier).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.AddUnit(@dat);

            return __ret;
        }


        static object get_Root_0(ref object o)
        {
            return huqiang.Unit.UnitCarrier.Root;
        }

        static StackObject* CopyToStack_Root_0(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Unit.UnitCarrier.Root;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_Root_0(ref object o, object v)
        {
            huqiang.Unit.UnitCarrier.Root = (UnityEngine.Transform)v;
        }

        static StackObject* AssignFromStack_Root_0(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Transform @Root = (UnityEngine.Transform)typeof(UnityEngine.Transform).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            huqiang.Unit.UnitCarrier.Root = @Root;
            return ptr_of_this_method;
        }

        static object get_vertex_1(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).vertex;
        }

        static StackObject* CopyToStack_vertex_1(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).vertex;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_vertex_1(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).vertex = (System.Collections.Generic.List<UnityEngine.Vector3>)v;
        }

        static StackObject* AssignFromStack_vertex_1(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<UnityEngine.Vector3> @vertex = (System.Collections.Generic.List<UnityEngine.Vector3>)typeof(System.Collections.Generic.List<UnityEngine.Vector3>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).vertex = @vertex;
            return ptr_of_this_method;
        }

        static object get_uv_2(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).uv;
        }

        static StackObject* CopyToStack_uv_2(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).uv;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_uv_2(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).uv = (System.Collections.Generic.List<UnityEngine.Vector2>)v;
        }

        static StackObject* AssignFromStack_uv_2(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<UnityEngine.Vector2> @uv = (System.Collections.Generic.List<UnityEngine.Vector2>)typeof(System.Collections.Generic.List<UnityEngine.Vector2>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).uv = @uv;
            return ptr_of_this_method;
        }

        static object get_tris_3(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).tris;
        }

        static StackObject* CopyToStack_tris_3(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).tris;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_tris_3(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).tris = (System.Collections.Generic.List<System.Int32>)v;
        }

        static StackObject* AssignFromStack_tris_3(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<System.Int32> @tris = (System.Collections.Generic.List<System.Int32>)typeof(System.Collections.Generic.List<System.Int32>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).tris = @tris;
            return ptr_of_this_method;
        }

        static object get_colors_4(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).colors;
        }

        static StackObject* CopyToStack_colors_4(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).colors;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_colors_4(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).colors = (System.Collections.Generic.List<UnityEngine.Color32>)v;
        }

        static StackObject* AssignFromStack_colors_4(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<UnityEngine.Color32> @colors = (System.Collections.Generic.List<UnityEngine.Color32>)typeof(System.Collections.Generic.List<UnityEngine.Color32>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).colors = @colors;
            return ptr_of_this_method;
        }

        static object get_Units_5(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).Units;
        }

        static StackObject* CopyToStack_Units_5(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).Units;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_Units_5(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).Units = (System.Collections.Generic.List<huqiang.Unit.Unit>)v;
        }

        static StackObject* AssignFromStack_Units_5(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<huqiang.Unit.Unit> @Units = (System.Collections.Generic.List<huqiang.Unit.Unit>)typeof(System.Collections.Generic.List<huqiang.Unit.Unit>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).Units = @Units;
            return ptr_of_this_method;
        }

        static object get_collisionType_6(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).collisionType;
        }

        static StackObject* CopyToStack_collisionType_6(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).collisionType;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_collisionType_6(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).collisionType = (huqiang.Unit.CollisionType)v;
        }

        static StackObject* AssignFromStack_collisionType_6(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            huqiang.Unit.CollisionType @collisionType = (huqiang.Unit.CollisionType)typeof(huqiang.Unit.CollisionType).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)20);
            ((huqiang.Unit.UnitCarrier)o).collisionType = @collisionType;
            return ptr_of_this_method;
        }

        static object get_game_7(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).game;
        }

        static StackObject* CopyToStack_game_7(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).game;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_game_7(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).game = (UnityEngine.GameObject)v;
        }

        static StackObject* AssignFromStack_game_7(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.GameObject @game = (UnityEngine.GameObject)typeof(UnityEngine.GameObject).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).game = @game;
            return ptr_of_this_method;
        }

        static object get_meshFilter_8(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).meshFilter;
        }

        static StackObject* CopyToStack_meshFilter_8(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).meshFilter;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_meshFilter_8(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).meshFilter = (UnityEngine.MeshFilter)v;
        }

        static StackObject* AssignFromStack_meshFilter_8(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.MeshFilter @meshFilter = (UnityEngine.MeshFilter)typeof(UnityEngine.MeshFilter).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).meshFilter = @meshFilter;
            return ptr_of_this_method;
        }

        static object get_renderer_9(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).renderer;
        }

        static StackObject* CopyToStack_renderer_9(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).renderer;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_renderer_9(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).renderer = (UnityEngine.MeshRenderer)v;
        }

        static StackObject* AssignFromStack_renderer_9(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.MeshRenderer @renderer = (UnityEngine.MeshRenderer)typeof(UnityEngine.MeshRenderer).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).renderer = @renderer;
            return ptr_of_this_method;
        }

        static object get_assetsName_10(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).assetsName;
        }

        static StackObject* CopyToStack_assetsName_10(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).assetsName;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_assetsName_10(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).assetsName = (System.String)v;
        }

        static StackObject* AssignFromStack_assetsName_10(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @assetsName = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).assetsName = @assetsName;
            return ptr_of_this_method;
        }

        static object get_shader_11(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).shader;
        }

        static StackObject* CopyToStack_shader_11(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).shader;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_shader_11(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).shader = (System.String)v;
        }

        static StackObject* AssignFromStack_shader_11(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @shader = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).shader = @shader;
            return ptr_of_this_method;
        }

        static object get_textrue_12(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).textrue;
        }

        static StackObject* CopyToStack_textrue_12(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).textrue;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_textrue_12(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).textrue = (System.String)v;
        }

        static StackObject* AssignFromStack_textrue_12(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @textrue = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Unit.UnitCarrier)o).textrue = @textrue;
            return ptr_of_this_method;
        }

        static object get_level_13(ref object o)
        {
            return ((huqiang.Unit.UnitCarrier)o).level;
        }

        static StackObject* CopyToStack_level_13(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Unit.UnitCarrier)o).level;
            __ret->ObjectType = ObjectTypes.Float;
            *(float*)&__ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static void set_level_13(ref object o, object v)
        {
            ((huqiang.Unit.UnitCarrier)o).level = (System.Single)v;
        }

        static StackObject* AssignFromStack_level_13(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Single @level = *(float*)&ptr_of_this_method->Value;
            ((huqiang.Unit.UnitCarrier)o).level = @level;
            return ptr_of_this_method;
        }



        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);

            var result_of_this_method = new huqiang.Unit.UnitCarrier();

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }


    }
}
